// 引入axios
import axios from "axios";

// 创建axios实例对象
let requests = axios.create({
    // 基础路径
    baseURL: "/ding",
    // 设置请求超时的时间
    timeout: 3000
})

// 请求拦截器：在发请求之前，请求拦截器可以检测到，可以在发出请求之前做一些事情
requests.interceptors.request.use((config) => {

    // 需要携带token带给服务器
    if (localStorage.getItem("token")) {
        // config.headers['token'] = localStorage.getItem("token")
        config.headers.Authorization = 'Bearer ' + localStorage.getItem('token') || ""
        // var a = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiYTFhMDAyNzAtZmE2ZS00NGFmLWJmZTctY2JmMGU1Zjg5ODI2IiwiSUQiOjEsIlVzZXJuYW1lIjoiYWRtaW4iLCJOaWNrTmFtZSI6Ik1yLuWlh-a3vCIsIkF1dGhvcml0eUlkIjo4ODgsIkJ1ZmZlclRpbWUiOjg2NDAwLCJpc3MiOiJxbVBsdXMiLCJhdWQiOlsiR1ZBIl0sImV4cCI6MTY4NDc1NDQ1NywibmJmIjoxNjg0MTQ5NjU3fQ.rePhbKO5QuDVrTDn7YdjswFnTQGpFSc1xHWbKTgBNdM"
        // config.headers.Authorization = 'Bearer ' + a
    }

    // config:配置对象，对象里边有一个属性很重要，headers请求头
    return config
})  

// 响应拦截器
requests.interceptors.response.use((res) => {
    // 成功的回调函数：服务器响应的数据回来以后，响应拦截器可以检测到，可以做一些事情
    return res.data
}, (error) => {
    // 响应失败的回调函数
    // return Promise.reject(new Error('faile'))
})

// 对外暴露
export default requests;
